
package br.com.comprasPublicas.util;




import br.com.comprasPublicas.entity.AutorizaCotacao;
import br.com.comprasPublicas.entity.AutorizaPedido;
import br.com.comprasPublicas.entity.Autorizacao;
import br.com.comprasPublicas.entity.Cotacao;
import br.com.comprasPublicas.entity.Departamento;
import br.com.comprasPublicas.entity.Endereco;
import br.com.comprasPublicas.entity.GrupoProduto;
import br.com.comprasPublicas.entity.InclusaoPrecosCotacao;
import br.com.comprasPublicas.entity.InclusaoPrecosPedido;
import br.com.comprasPublicas.entity.ItemPedido;
import br.com.comprasPublicas.entity.Pedido;
import br.com.comprasPublicas.entity.Pessoa;
import br.com.comprasPublicas.entity.Produto;
import br.com.comprasPublicas.entity.Secao;
import br.com.comprasPublicas.entity.Telefone;
import javax.swing.JOptionPane;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

/**
 * Hibernate Utility class with a convenient method to get Session Factory object.
 *
 * @author Intel
 */
public class HibernateUtil {

    private static SessionFactory FabricaSessoes;
    static
    {
        try
        {
            AnnotationConfiguration cfg = new AnnotationConfiguration();
            cfg.addAnnotatedClass(Autorizacao.class);
            cfg.addAnnotatedClass(AutorizaCotacao.class);
            cfg.addAnnotatedClass(AutorizaPedido.class);
            cfg.addAnnotatedClass(Cotacao.class);
            cfg.addAnnotatedClass(Departamento.class);
            cfg.addAnnotatedClass(Endereco.class);
            cfg.addAnnotatedClass(GrupoProduto.class);
            cfg.addAnnotatedClass(InclusaoPrecosCotacao.class);
            cfg.addAnnotatedClass(InclusaoPrecosPedido.class);
            cfg.addAnnotatedClass(ItemPedido.class);
            cfg.addAnnotatedClass(Pedido.class);
            cfg.addAnnotatedClass(Pessoa.class);
            cfg.addAnnotatedClass(Produto.class);
            cfg.addAnnotatedClass(Secao.class);
            cfg.addAnnotatedClass(Telefone.class);

            FabricaSessoes = cfg.buildSessionFactory();
        }
        catch(Exception erro)
        {
            JOptionPane.showMessageDialog(null, "Erro na fabrica de sessoes = "+erro);
            FabricaSessoes = null;
        }
    }

    public static Session getSessao()
    {
        return FabricaSessoes.openSession();
    }



}

